home *** CD-ROM | disk | FTP | other *** search
Wrap
class Base64 { static var b64s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static var b64 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"]; static var f64 = {}; function Base64() { } static function utf8t2d(t) { var _loc1_ = new Array(); var _loc5_ = String.fromCharCode(237); if(_loc5_.charCodeAt(0) < 0) { var _loc3_ = 0; while(_loc3_ < t.length) { var _loc2_ = t.charCodeAt(_loc3_); if(_loc2_ > 0) { _loc1_[_loc1_.length] = _loc2_; } else { _loc1_[_loc1_.length] = 256 + _loc2_ >> 6 | 0xC0; _loc1_[_loc1_.length] = 256 + _loc2_ & 0x3F | 0x80; } _loc3_ = _loc3_ + 1; } } else { _loc3_ = 0; while(_loc3_ < t.length) { _loc2_ = t.charCodeAt(_loc3_); if(_loc2_ < 128) { _loc1_[_loc1_.length] = _loc2_; } else if(_loc2_ > 127 && _loc2_ < 2048) { _loc1_[_loc1_.length] = _loc2_ >> 6 | 0xC0; _loc1_[_loc1_.length] = _loc2_ & 0x3F | 0x80; } else { _loc1_[_loc1_.length] = _loc2_ >> 12 | 0xE0; _loc1_[_loc1_.length] = _loc2_ >> 6 & 0x3F | 0x80; _loc1_[_loc1_.length] = _loc2_ & 0x3F | 0x80; } _loc3_ = _loc3_ + 1; } } return _loc1_; } static function b64d2t(d) { var _loc1_ = new Array(); var _loc2_ = 0; var _loc4_ = d.length; if(_loc4_ % 3 == 1) { d[d.length] = 0; d[d.length] = 0; } if(_loc4_ % 3 == 2) { d[d.length] = 0; } while(_loc2_ < d.length) { _loc1_[_loc1_.length] = Base64.b64[d[_loc2_] >> 2]; _loc1_[_loc1_.length] = Base64.b64[(d[_loc2_] & 3) << 4 | d[_loc2_ + 1] >> 4]; _loc1_[_loc1_.length] = Base64.b64[(d[_loc2_ + 1] & 0x0F) << 2 | d[_loc2_ + 2] >> 6]; _loc1_[_loc1_.length] = Base64.b64[d[_loc2_ + 2] & 0x3F]; if(_loc2_ % 57 == 54) { _loc1_[_loc1_.length] = "\n"; } _loc2_ += 3; } if(_loc4_ % 3 == 1) { _loc1_[_loc1_.length - 1] = _loc1_[_loc1_.length - 2] = "="; } if(_loc4_ % 3 == 2) { _loc1_[_loc1_.length - 1] = "="; } var _loc5_ = _loc1_.join(""); return _loc5_; } static function encode(s) { return Base64.b64d2t(Base64.utf8t2d(s)); } }